#pragma once
#include "../../SGD Wrappers/SGD_Geometry.h"
#include "GameObject.h"

class Tile;

class MobileObject : public GameObject
{
private:
	SGD::Vector velocity;
	SGD::Vector acceleration;
	int iDamage;
	float fMass;
	float fMaxSpeed;
	bool IsKilled;

public:
	MobileObject();
	virtual ~MobileObject();

	int Update(float dt);
	void HandleCollision(const GameObject* collision);

	// Accessors
	SGD::Vector GetVelocity()const;
	SGD::Vector GetAcceleration()const;
	float GetMaxSpeed();
	int GetDamage() const;
	bool GetIsKilled() const;

	// Mutators
	void SetVelocity(SGD::Vector v);
	void SetAcceleration(SGD::Vector a);
	void SetMaxSpeed(float veloctit);
	void SetDamage(int damage);
	void SetIsKilled(bool isKilled);
};